#pragma once
#ifndef GAME_H_
#define GAME_H_
#include <d3d9.h>
#include <d3dx9.h>
#include "BufferCollection.h"
#include "Cube.h"
#include "World.h"
#pragma once
#include "Camera.h"

namespace Minicraft
{
	// The single instance of BufferCollection we'll use for drawing faces
	extern BufferCollection* BufferCollectionInstance;

	// a test world
	extern World* testWorld;

	// the mouse's movent in the x axis last cycle
	extern long MouseMoveX;

	// the mouse's movement in the y axis last cycle
	extern long MouseMoveY;

	// the game camera
	extern Minicraft::Camera::GameCamera* camera;

	// Contains game-specific initialization code.
	void Initalize(LPDIRECT3DDEVICE9);

	// Contains game-specific draw code.
	void Draw();

	// Contains game-specific update code.
	void Update();

	// Updates the game from input.
	void UpdateInput();

	// Updates the mouse input
	void UpdateMouseInput();

	// Updates the keyboard input
	void UpdateKeyboardInput();
	
	// Contains game-specific cleanup code.
	void Dispose();
}
#endif